import os
def dir_size(dir):
    '''
    统计目录大小
    :param dir: 输入指定目录
    :return: 获得目录大小
    '''
    sum=0
    # 判断指定目录是否文件
    if os.path.isfile(dir):
        sum=sum+os.path.getsize(dir)
    # 判断指定目录是否文件夹
    if os.path.isdir(dir):
        # 获取指定目录的所有文件信息
        dlist = os.listdir(dir)
        # 遍历所有文件，并统计大小
        for f in dlist:
            # 为遍历的文件添加目录路径
            file= os.path.join(dir,f)
            # 判断是否文件，文件直接统计
            if os.path.isfile(file):
                sum = sum + os.path.getsize(file)
            # 判断是都文件夹，文件夹直接递归调用
            if os.path.isdir(file):
                sum = sum + dir_size(file)
    return sum

while True:
    dir = input("请输入要统计的目录或文件（如：D:\\python或D:\\test.py）,直接回车即退出:\n")
    if dir== "":
        break
    else:
        print('{}字节'.format(dir_size(dir)))

